首页 > 试题广场 >

输入整型数组和排序标识,对其元素按照升序或降序进行排序

[编程题]输入整型数组和排序标识,对其元素按照升序或降序进行排序
  • 热度指数:213198 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入整型数组和排序标识,对其元素按照升序或降序进行排序

数据范围: ,元素大小满足

输入描述:

第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序



输出描述:

输出排好序的数字

示例1

输入

8
1 2 4 9 3 55 64 25
0

输出

1 2 3 4 9 25 55 64
示例2

输入

5
1 2 3 4 5
1

输出

5 4 3 2 1
n=int(input())
print(*list(sorted(list(map(int,input().split())),reverse=eval(input()))))

编辑于 2024-04-16 11:02:32 回复(0)
n = input()
n = int(n)

arr = input()
arr = arr.split()
for i in range(0, len(arr)):
    arr[i] = int(arr[i])

button = input()
button = int(button)

final_arr = []

if button == 0:
    for i in range(len(arr)):
        num_index = arr.index(min(arr))
        final_arr.append(min(arr))
        del arr[num_index]
elif button == 1:
    for i in range(len(arr)):
        num_index = arr.index(max(arr))
        final_arr.append(max(arr))
        del arr[num_index]

for i in range(0, len(final_arr)):
    print(final_arr[i], end=' ')
编辑于 2024-02-26 20:16:09 回复(0)
while True:
    try:
        n,list,sort_way = int(input()),input().split(""),int(input())
        new_list = [0 for index in range(n)]

        count = 0
        right_locate = 0

        for item in list:
            item=int(item)

            # 初始化new_list
            if count == 0:
                new_list[0] = item
                count += 1
                continue

            if sort_way==0:
                # 找第(count+1)的值的具体索引值
                for k in range(count):
                    if item <new_list[k]: #如果比第一个值还小,该值的right_locate就是0
                        right_locate=0
                        break
                    if item >= new_list[k] and item <= new_list[k + 1]: #如果比第k个值大,比k+1值小,该值的right_locate就是k+1
                        right_locate = k + 1
                        break
                    if k == (count - 1): #如果比到了最后一个值,说明该值就是目前最大的
                        right_locate = count

                # 挪位置
                if right_locate!=count:
                    for i in range(count - right_locate):
                        new_list[count - i] = new_list[count - i - 1]
                new_list[right_locate] = item
                count+=1

            else:
                # 找第(count+1)的值的具体索引值
                for k in range(count):
                    if item>new_list[k]:
                        right_locate=0
                        break
                    if item <= new_list[k] and item >= new_list[k + 1]:
                        right_locate = k + 1
                        break
                    if k == (count - 1):
                        right_locate = count

                # 挪位置
                if right_locate!=count:
                    for i in range(count - right_locate):
                        new_list[count - i] = new_list[count - i - 1]
                new_list[right_locate] = item
                count += 1

        result = str()
        for m in new_list:
            result += f"{m} "
        result.strip()
        print(result)

    except:
        break

发表于 2022-12-29 09:49:16 回复(0)
n = int(input())
l = list(map(int,input().split()))
flag = int(input())
print(*sorted(l, reverse=flag))

发表于 2022-11-09 15:33:43 回复(0)
def printList(myList):
    for item in myList:
        print(item, end=' ')

        
num = int(input())
numList = list(map(int, input().split(' ')))
reverse = int(input())

numList.sort(reverse = reverse)
printList(numList)

发表于 2022-09-14 12:16:27 回复(0)
while True:
    try:
        n = int(input())
        lst = list(map(int,input().split()))
        if len(lst) == n:
            x = input()
            if x == '0':
                lst1 = sorted(lst)
                print(*lst1)
            elif x == '1':
                lst2 =sorted(lst,reverse = True)
                print(*lst2)
            else:
                break
    except:
        break
发表于 2022-09-04 09:06:10 回复(0)
m=int(input())
l=list(map(int,input().split()))
tf=int(input())
if tf == 0:
    for i in sorted(l):
        print(i,end=' ')
elif tf == 1:
    for j in sorted(l,reverse=True):
        print(j,end=' ')
发表于 2022-08-31 03:00:49 回复(0)
a=int(input())
ls1=list(map(int,input().split()))
b=int(input())
if b==1:
    print(' '.join(map(str,sorted(ls1,reverse=True))))
else:
    print(' '.join(map(str,sorted(ls1))))
发表于 2022-08-27 22:06:08 回复(0)
a = input()
a = list(map(int,input().split()))
option = int(input())
a.sort()
m = ""
if option:
    a.reverse()
for i in a:
    m += str(i) + " "
print(m[:-1])

发表于 2022-08-27 01:52:18 回复(0)
n = int(input())
arr = [int(i) for i in input().split()]
# print(arr)
k = int(input())
if k == 0:
    l = [str(i) for i in sorted(arr)]
    print(" ".join(l))
if k == 1:
    l = [str(i) for i in sorted(arr, reverse=True)]
    print(" ".join(l))

发表于 2022-08-25 17:55:43 回复(0)
while True:
    try:
        n = int(input())
        nums = list(map(int,input().split()))
        list1 = []
        flag = input()
        if flag == '0':
            nums = sorted(nums)
        if flag == '1':
            nums = sorted(nums,reverse=True)
        for i in nums:
            list1.append(str(i))
        print(' '.join(list1))
    except:
        break

发表于 2022-08-21 20:44:24 回复(0)
刷排序的题目深刻感受到python真方便。。
发表于 2022-08-19 23:38:20 回复(0)
x = int(input())
y = list(map(int, input().split()))

z = int(input())
if z == 1:
    for i in sorted(y, reverse=True):
        print(i, end=' ')
else:
    for i in sorted(y):
        print(i, end=' ')

发表于 2022-08-03 16:58:48 回复(0)
n = int(input())
ipList = list(map(int, input().split()))
f = int(input())
if f == 0:
    ipList = sorted(ipList)
else:
    ipList = sorted(ipList, reverse=True)

for item in ipList:
    print(item, end=' ')

发表于 2022-07-30 16:22:14 回复(0)
n = int(input())
num_list = input().split()
sort_key = int(input())
for i in range(n):
    num_list[i] = int(num_list[i])
if sort_key == 0:
    for i in sorted(num_list):
        print(i,end=' ')
elif sort_key == 1:
    for i in sorted(num_list,reverse = True):
        print(i,end=' ')

发表于 2022-07-15 03:36:46 回复(0)
n = input()
a = [*map(int, input().split(' '))]    # 要有星号解析成列表
m = input()

if m == '0':
    print(' '.join(map(str, sorted(a))))
else:
    print(' '.join(map(str, sorted(a, reverse=True))))


发表于 2022-07-13 19:39:58 回复(0)
发表于 2022-07-10 22:56:30 回复(0)
k = int(input(""))
arr = input("").split()
tag = int(input(""))
while True:
    if tag == 0&nbs***bsp;tag ==1:
        break
    else:
        print("请重新输入tag")
        tag = int(input("请输入升序0或者降序1:"))
arr_len = arr[:k]
if tag == 0:
    for i in range(len(arr) - 1):
        for j in range(len(arr) - 1 - i):
            arr[j] = int(arr[j])
            arr[j + 1] = int(arr[j + 1])
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
else:
    for i in range(len(arr) - 1):
        for j in range(len(arr) - 1 - i):
            arr[j] = int(arr[j])
            arr[j + 1] = int(arr[j + 1])
            if arr[j] < arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
for i in  arr:
    print(i, "", end="")

发表于 2022-07-08 12:29:44 回复(0)
num =int(input())
List=list(map(int, input().split(' ')))
order=int(input())
if order==1:
    List=sorted(List, reverse=True)
    for i in List:
        print(i,end=' ')
elif order==1:
    List=sorted(List)
    for i in List:
        print(i,end=' ')
发表于 2022-07-06 22:44:33 回复(0)

问题信息

难度:
69条回答 38572浏览

热门推荐

通过挑战的用户

查看代码